/**
 * 设置输入框提示文本
 * @param val 提示文字
 */
export const setPlaceholder = (val: string) => {
  return '请输入' + val
}

/**
 * 获取小数位数
 * @param num 数值
 */
export const getDecimalPlaces = (num) => {
  const match = ('' + num).match(/\.(\d+)/)
  return match ? match[1].length : 0
}

/**
 * 小数位数保留
 * @param data 数值
 * @param num 保留位数
 */
export const ScaleRetention = (data: any, num: string) => {
  return (Math.round(num * 100) / 100).toFixed(num)

  // cell()：向上取整；
  // floor():向下取整；
}

/**
 * 类型判断
 * @param {*} obj      判断类型值
 * @return
 */
export function getType(obj) {
  let type = typeof obj //判断基础数据类型
  // 若类型不为object统一返回，引用数据类型进一步判断
  if (type !== 'object') {
    return type
  }
  return Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/) //返回引用数据类型，并处理返回类型
}

/**
 * 处理数值格式
 * @param num 数值
 * @return num 整数直接返回，小数保留两位
 */
export const formatNumber = (num) => {
  const numStr = num.toString()
  const decimalIndex = numStr.indexOf('.')
  // 如果没有小数点，说明是整数
  if (decimalIndex === -1) {
    return num
  }
  const decimalPart = numStr.substring(decimalIndex + 1)
  // 检查小数部分是否全为零
  if (/^0+$/.test(decimalPart)) {
    return Math.floor(num) // 如果是整数，直接返回整数部分
  } else {
    return parseFloat(num.toFixed(2)) // 如果不是整数，保留两位小数
  }
}

/**
 *  暂无数据处理函数
 * @param dom 传入图表所在的dom节点
 */
import empty from '@/assets/img/empty.png';
export const noDataChart = (dom) => {
  dom.removeChild(dom.firstChild)
  const mainImg = document.createElement('img') //创建img元素
  dom.appendChild(mainImg) // 显示的图片添加到dom元素
  mainImg.style.width = 'auto' //图片宽度
  mainImg.style.height = '40%' //图片高度
  // mainImg.src = '/empty.png'
  mainImg.src = empty // 要显示图片的src路径，由外部统一定义，或直接写在这里也可以

  // 添加 onload 和 onerror 事件监听器来调试加载问题
  mainImg.onload = () => console.log('图片加载成功')
  mainImg.onerror = (e) => console.error('图片加载失败:', e)

  const mainText = document.createElement('h5') //定义显示文字
  dom.appendChild(mainText) // 显示的文字添加到dom元素
  dom.style.display = 'flex'
  dom.style.flexDirection = 'column'
  dom.style.justifyContent = 'center'
  dom.style.alignItems = 'center'
  mainText.innerHTML = '暂无数据'
  mainText.style.color = '#999999'
  dom.removeAttribute('_echarts_instance_') //用于从元素节点中移除指定的属性。
}

